package com.cjx.yuanshenstartforumbackend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cjx.yuanshenstartforumbackend.common.BaseResponse;
import com.cjx.yuanshenstartforumbackend.domain.Article;
import com.cjx.yuanshenstartforumbackend.domain.dto.ArticleQueryDto;
import com.cjx.yuanshenstartforumbackend.domain.dto.InsertArticleDto;

import java.util.Map;

/**
* @author cjx
* @description 针对表【article(文章表)】的数据库操作Service
* @createDate 2023-12-23 19:23:43
*/
public interface ArticleService extends IService<Article> {

    /**
     * 条件分页查询文章数据
     * @param articleQueryDto 条件类
     * @return 包装好的文章数据
     */
    BaseResponse<Map<String, Object>> queryPage(ArticleQueryDto articleQueryDto);

    /**
     * aid的阅读量+1
     * @param aid 文章
     * @return 无data
     */
    BaseResponse<?> addReading(Long aid);

    /**
     * 根据id获取文章内容
     * @param aid 文章id
     * @return 文章内容
     */
    BaseResponse<Article> getArticle(Long aid);

    /**
     * 新增文章
     * @param insertArticleDto 需要的参数
     * @return 返回类
     */
    BaseResponse<?> insertArticle(InsertArticleDto insertArticleDto);
}
